package com.caojing.androidviewpage

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder

class CustomAdapter: RecyclerView.Adapter<ViewHolder>() {
    override fun onCreateViewHolder(
        parent: ViewGroup,
        viewType: Int
    ): ViewHolder {
        return when (viewType) {
            0 -> {
                val view = LayoutInflater.from(parent.context)
                    .inflate(R.layout.item_layout1, parent, false)
                ViewHolderA(view) // 返回布局 A 的 ViewHolder
            }
            else -> {
                val view = LayoutInflater.from(parent.context)
                    .inflate(R.layout.item_layout2, parent, false)
                ViewHolderB(view) // 返回布局 B 的 ViewHolder
            }
        }
    }

    override fun onBindViewHolder(
        holder: RecyclerView.ViewHolder,
        position: Int
    ) {
        when (holder) {
            is ViewHolderA -> {
                // 绑定数据到布局 A
            }
            is ViewHolderB -> {
                // 绑定数据到布局 B
            }
        }
    }

    override fun getItemViewType(position: Int): Int {
        return if (position % 2 == 0) 0 else 1 // 交替显示 A 和 B
    }

    override fun getItemCount(): Int {
        return 2
    }
}

// 定义两种具体的 ViewHolder 类
class ViewHolderA(itemView: View) : RecyclerView.ViewHolder(itemView) {
    // 绑定布局 A 的控件（例如 TextView）
}

class ViewHolderB(itemView: View) : RecyclerView.ViewHolder(itemView) {
    // 绑定布局 B 的控件（例如 ImageView）
}